﻿//------------------------------------------------------------
// Author: 烟雨迷离半世殇
// Mail: 1778139321@qq.com
// Data: 2019年12月30日 20:48:29
//------------------------------------------------------------

namespace NKG_MVVM_UI
{
    /// <summary>
    /// VM基类，用于联通Model和View
    /// </summary>
    public abstract class AViewModel
    {
        /// <summary>
        /// 父VM
        /// </summary>
        public AViewModel ParentAViewModel { get; set; }
        
        /// <summary>
        /// 获取界面序列编号。
        /// </summary>
        public int SerialId { get; }

        /// <summary>
        /// 获取界面的深度。
        /// </summary>
        public int Depth { get; }

        /// <summary>
        /// 获取是否暂停被覆盖的界面。
        /// </summary>
        public bool PauseCoveredUIForm { get; }

        /// <summary>
        /// 初始化时调用
        /// </summary>
        public abstract void OnInit();
        
        /// <summary>
        /// 被回收时调用
        /// </summary>
        public abstract void OnRecycle();
    }
}